home *** CD-ROM | disk | FTP | other *** search
Wrap
package javax.swing.text.html; import java.awt.Color; import java.awt.Font; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Enumeration; import java.util.Hashtable; import javax.swing.text.AttributeSet; import javax.swing.text.Element; import javax.swing.text.MutableAttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyleContext; import javax.swing.text.html.HTML.Tag; public class CSS { private static final Hashtable attributeMap = new Hashtable(); private static final Hashtable valueMap = new Hashtable(); static int[] sizeMap = new int[]{8, 10, 12, 14, 18, 24, 36}; private static final Hashtable htmlAttrToCssAttrMap = new Hashtable(20); private static final Hashtable styleConstantToCssMap = new Hashtable(17); private static final Hashtable htmlValueToCssValueMap = new Hashtable(8); private static final Hashtable cssValueToInternalValueMap = new Hashtable(8); private transient Hashtable valueConvertor = new Hashtable(); private int baseFontSize = 3; static { for(int var0 = 0; var0 < javax.swing.text.html.CSS.Attribute.allAttributes.length; ++var0) { attributeMap.put(javax.swing.text.html.CSS.Attribute.allAttributes[var0].toString(), javax.swing.text.html.CSS.Attribute.allAttributes[var0]); } for(int var1 = 0; var1 < javax.swing.text.html.CSS.Value.allValues.length; ++var1) { valueMap.put(javax.swing.text.html.CSS.Value.allValues[var1].toString(), javax.swing.text.html.CSS.Value.allValues[var1]); } htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.COLOR, new Attribute[]{javax.swing.text.html.CSS.Attribute.COLOR}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.TEXT, new Attribute[]{javax.swing.text.html.CSS.Attribute.COLOR}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.CLEAR, new Attribute[]{javax.swing.text.html.CSS.Attribute.CLEAR}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.BACKGROUND, new Attribute[]{javax.swing.text.html.CSS.Attribute.BACKGROUND_IMAGE}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.BGCOLOR, new Attribute[]{javax.swing.text.html.CSS.Attribute.BACKGROUND_COLOR}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.WIDTH, new Attribute[]{javax.swing.text.html.CSS.Attribute.WIDTH}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.HEIGHT, new Attribute[]{javax.swing.text.html.CSS.Attribute.HEIGHT}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.BORDER, new Attribute[]{javax.swing.text.html.CSS.Attribute.BORDER_WIDTH}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.CELLPADDING, new Attribute[]{javax.swing.text.html.CSS.Attribute.PADDING}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.CELLSPACING, new Attribute[]{javax.swing.text.html.CSS.Attribute.MARGIN}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.MARGINWIDTH, new Attribute[]{javax.swing.text.html.CSS.Attribute.MARGIN_LEFT, javax.swing.text.html.CSS.Attribute.MARGIN_RIGHT}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.MARGINHEIGHT, new Attribute[]{javax.swing.text.html.CSS.Attribute.MARGIN_TOP, javax.swing.text.html.CSS.Attribute.MARGIN_BOTTOM}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.HSPACE, new Attribute[]{javax.swing.text.html.CSS.Attribute.PADDING_LEFT, javax.swing.text.html.CSS.Attribute.PADDING_RIGHT}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.VSPACE, new Attribute[]{javax.swing.text.html.CSS.Attribute.PADDING_BOTTOM, javax.swing.text.html.CSS.Attribute.PADDING_TOP}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.FACE, new Attribute[]{javax.swing.text.html.CSS.Attribute.FONT_FAMILY}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.SIZE, new Attribute[]{javax.swing.text.html.CSS.Attribute.FONT_SIZE}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.VALIGN, new Attribute[]{javax.swing.text.html.CSS.Attribute.VERTICAL_ALIGN}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.ALIGN, new Attribute[]{javax.swing.text.html.CSS.Attribute.VERTICAL_ALIGN, javax.swing.text.html.CSS.Attribute.TEXT_ALIGN, javax.swing.text.html.CSS.Attribute.FLOAT}); htmlAttrToCssAttrMap.put(javax.swing.text.html.HTML.Attribute.TYPE, new Attribute[]{javax.swing.text.html.CSS.Attribute.LIST_STYLE_TYPE}); styleConstantToCssMap.put(StyleConstants.FontFamily, javax.swing.text.html.CSS.Attribute.FONT_FAMILY); styleConstantToCssMap.put(StyleConstants.FontSize, javax.swing.text.html.CSS.Attribute.FONT_SIZE); styleConstantToCssMap.put(StyleConstants.Bold, javax.swing.text.html.CSS.Attribute.FONT_WEIGHT); styleConstantToCssMap.put(StyleConstants.Italic, javax.swing.text.html.CSS.Attribute.FONT_STYLE); styleConstantToCssMap.put(StyleConstants.Underline, javax.swing.text.html.CSS.Attribute.TEXT_DECORATION); styleConstantToCssMap.put(StyleConstants.StrikeThrough, javax.swing.text.html.CSS.Attribute.TEXT_DECORATION); styleConstantToCssMap.put(StyleConstants.Superscript, javax.swing.text.html.CSS.Attribute.VERTICAL_ALIGN); styleConstantToCssMap.put(StyleConstants.Subscript, javax.swing.text.html.CSS.Attribute.VERTICAL_ALIGN); styleConstantToCssMap.put(StyleConstants.Foreground, javax.swing.text.html.CSS.Attribute.COLOR); styleConstantToCssMap.put(StyleConstants.Background, javax.swing.text.html.CSS.Attribute.BACKGROUND_COLOR); styleConstantToCssMap.put(StyleConstants.FirstLineIndent, javax.swing.text.html.CSS.Attribute.TEXT_INDENT); styleConstantToCssMap.put(StyleConstants.LeftIndent, javax.swing.text.html.CSS.Attribute.MARGIN_LEFT); styleConstantToCssMap.put(StyleConstants.RightIndent, javax.swing.text.html.CSS.Attribute.MARGIN_RIGHT); styleConstantToCssMap.put(StyleConstants.SpaceAbove, javax.swing.text.html.CSS.Attribute.MARGIN_TOP); styleConstantToCssMap.put(StyleConstants.SpaceBelow, javax.swing.text.html.CSS.Attribute.MARGIN_BOTTOM); styleConstantToCssMap.put(StyleConstants.Alignment, javax.swing.text.html.CSS.Attribute.TEXT_ALIGN); htmlValueToCssValueMap.put("disc", javax.swing.text.html.CSS.Value.DISC); htmlValueToCssValueMap.put("square", javax.swing.text.html.CSS.Value.SQUARE); htmlValueToCssValueMap.put("circle", javax.swing.text.html.CSS.Value.CIRCLE); htmlValueToCssValueMap.put("1", javax.swing.text.html.CSS.Value.DECIMAL); htmlValueToCssValueMap.put("a", javax.swing.text.html.CSS.Value.LOWER_ALPHA); htmlValueToCssValueMap.put("A", javax.swing.text.html.CSS.Value.UPPER_ALPHA); htmlValueToCssValueMap.put("i", javax.swing.text.html.CSS.Value.LOWER_ROMAN); htmlValueToCssValueMap.put("I", javax.swing.text.html.CSS.Value.UPPER_ROMAN); cssValueToInternalValueMap.put("disc", javax.swing.text.html.CSS.Value.DISC); cssValueToInternalValueMap.put("square", javax.swing.text.html.CSS.Value.SQUARE); cssValueToInternalValueMap.put("circle", javax.swing.text.html.CSS.Value.CIRCLE); cssValueToInternalValueMap.put("decimal", javax.swing.text.html.CSS.Value.DECIMAL); cssValueToInternalValueMap.put("lower-roman", javax.swing.text.html.CSS.Value.LOWER_ROMAN); cssValueToInternalValueMap.put("upper-roman", javax.swing.text.html.CSS.Value.UPPER_ROMAN); cssValueToInternalValueMap.put("lower-alpha", javax.swing.text.html.CSS.Value.LOWER_ALPHA); cssValueToInternalValueMap.put("upper-alpha", javax.swing.text.html.CSS.Value.UPPER_ALPHA); Attribute[] var2 = javax.swing.text.html.CSS.Attribute.allAttributes; try { for(int var3 = 0; var3 < var2.length; ++var3) { StyleContext.registerStaticAttributeKey(var2[var3]); } } catch (Throwable var4) { var4.printStackTrace(); } } public CSS() { this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.FONT_SIZE, new FontSize(this)); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.FONT_FAMILY, new FontFamily()); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.FONT_WEIGHT, new FontWeight()); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.BORDER_STYLE, new BorderStyle()); ColorValue var1 = new ColorValue(); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.COLOR, var1); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.BACKGROUND_COLOR, var1); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.BORDER_COLOR, var1); LengthValue var2 = new LengthValue(); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.MARGIN_TOP, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.MARGIN_BOTTOM, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.MARGIN_LEFT, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.MARGIN_RIGHT, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.PADDING_TOP, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.PADDING_BOTTOM, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.PADDING_LEFT, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.PADDING_RIGHT, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.BORDER_WIDTH, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.BORDER_TOP_WIDTH, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.BORDER_BOTTOM_WIDTH, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.BORDER_LEFT_WIDTH, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.BORDER_RIGHT_WIDTH, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.TEXT_INDENT, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.WIDTH, var2); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.HEIGHT, var2); StringValue var3 = new StringValue(); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.FONT_STYLE, var3); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.TEXT_DECORATION, var3); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.TEXT_ALIGN, var3); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.VERTICAL_ALIGN, var3); this.valueConvertor.put(javax.swing.text.html.CSS.Attribute.LIST_STYLE_TYPE, new ListType()); CssValue var4 = new CssValue(); int var5 = javax.swing.text.html.CSS.Attribute.allAttributes.length; for(int var6 = 0; var6 < var5; ++var6) { Attribute var7 = javax.swing.text.html.CSS.Attribute.allAttributes[var6]; if (this.valueConvertor.get(var7) == null) { this.valueConvertor.put(var7, var4); } } } // $FF: synthetic method static Hashtable access$0() { return cssValueToInternalValueMap; } // $FF: synthetic method static Hashtable access$1() { return htmlValueToCssValueMap; } static String colorToHex(Color var0) { String var1 = new String("#"); String var2 = Integer.toHexString(var0.getRed()); if (var2.length() > 2) { var2 = var2.substring(0, 2); } else if (var2.length() < 2) { var1 = var1 + "0" + var2; } else { var1 = var1 + var2; } var2 = Integer.toHexString(var0.getGreen()); if (var2.length() > 2) { var2 = var2.substring(0, 2); } else if (var2.length() < 2) { var1 = var1 + "0" + var2; } else { var1 = var1 + var2; } var2 = Integer.toHexString(var0.getBlue()); if (var2.length() > 2) { var2 = var2.substring(0, 2); } else if (var2.length() < 2) { var1 = var1 + "0" + var2; } else { var1 = var1 + var2; } return var1; } Object cssValueToStyleConstantsValue(StyleConstants var1, Object var2) { return var2 instanceof CssValue ? ((CssValue)var2).toStyleConstants(var1) : null; } public static Attribute[] getAllAttributeKeys() { Attribute[] var0 = new Attribute[javax.swing.text.html.CSS.Attribute.allAttributes.length]; System.arraycopy(javax.swing.text.html.CSS.Attribute.allAttributes, 0, var0, 0, javax.swing.text.html.CSS.Attribute.allAttributes.length); return var0; } public static final Attribute getAttribute(String var0) { return (Attribute)attributeMap.get(var0); } int getBaseFontSize() { return this.baseFontSize; } Color getColor(AttributeSet var1, Attribute var2) { ColorValue var3 = (ColorValue)var1.getAttribute(var2); return var3 != null ? var3.getValue() : null; } private Attribute getCssAlignAttribute(HTML.Tag var1, AttributeSet var2) { return javax.swing.text.html.CSS.Attribute.TEXT_ALIGN; } private Attribute[] getCssAttribute(HTML.Attribute var1) { return (Attribute[])htmlAttrToCssAttrMap.get(var1); } Object getCssValue(Attribute var1, String var2) { CssValue var3 = (CssValue)this.valueConvertor.get(var1); Object var4 = var3.parseHtmlValue(var2); return var4; } Font getFont(StyleContext var1, AttributeSet var2, int var3) { FontSize var4 = (FontSize)var2.getAttribute(javax.swing.text.html.CSS.Attribute.FONT_SIZE); int var5 = var4 != null ? (int)var4.getValue(var2) : var3; StringValue var6 = (StringValue)var2.getAttribute(javax.swing.text.html.CSS.Attribute.VERTICAL_ALIGN); if (var6 != null) { String var7 = ((CssValue)var6).toString(); if (var7.indexOf("sup") >= 0 || var7.indexOf("sub") >= 0) { var5 -= 2; } } FontFamily var13 = (FontFamily)var2.getAttribute(javax.swing.text.html.CSS.Attribute.FONT_FAMILY); String var8 = var13 != null ? var13.getValue() : "SansSerif"; int var9 = 0; FontWeight var10 = (FontWeight)var2.getAttribute(javax.swing.text.html.CSS.Attribute.FONT_WEIGHT); if (var10 != null && var10.getValue() > 400) { var9 |= 1; } Object var11 = var2.getAttribute(javax.swing.text.html.CSS.Attribute.FONT_STYLE); if (var11 != null && var11.toString().indexOf("italic") >= 0) { var9 |= 2; } Font var12 = var1.getFont(var8, var9, var5); return var12; } private HTML.Tag getHTMLTag(AttributeSet var1) { Object var2 = var1.getAttribute(StyleConstants.NameAttribute); if (var2 instanceof HTML.Tag) { HTML.Tag var3 = (HTML.Tag)var2; return var3; } else { return null; } } static int getIndexOfSize(float var0) { for(int var1 = 0; var1 < sizeMap.length; ++var1) { if (var0 <= (float)sizeMap[var1]) { return var1; } } return sizeMap.length - 1; } Object getInternalCSSValue(Attribute var1, String var2) { CssValue var3 = (CssValue)this.valueConvertor.get(var1); return var3.parseCssValue(var2); } float getLength(AttributeSet var1, Attribute var2) { LengthValue var3 = (LengthValue)var1.getAttribute(var2); float var4 = var3 != null ? var3.getValue() : 0.0F; return var4; } float getPointSize(int var1) { if (var1 < 0) { return (float)sizeMap[0]; } else { return var1 > sizeMap.length - 1 ? (float)sizeMap[sizeMap.length - 1] : (float)sizeMap[var1]; } } float getPointSize(String var1) { if (var1 != null) { if (var1.startsWith("+")) { int var4 = Integer.valueOf(var1.substring(1)); return this.getPointSize(this.baseFontSize + var4); } else if (var1.startsWith("-")) { int var2 = -Integer.valueOf(var1.substring(1)); return this.getPointSize(this.baseFontSize + var2); } else { int var3 = Integer.valueOf(var1); return this.getPointSize(var3); } } else { return 0.0F; } } static final Value getValue(String var0) { return (Value)valueMap.get(var0); } static final Color hexToColor(String var0) { if (var0.startsWith("#")) { String var1 = var0.substring(1, Math.min(var0.length(), 7)); String var2 = "0x" + var1; Color var3 = Color.decode(var2); return var3; } else { return null; } } private boolean isFloater(String var1) { return var1.equals("left") || var1.equals("right"); } private boolean isHTMLFontTag(HTML.Tag var1) { return var1 != null && (var1 == Tag.FONT || var1 == Tag.BASEFONT); } private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException { var1.defaultReadObject(); int var2 = var1.readInt(); this.valueConvertor = new Hashtable(Math.max(1, var2)); while(var2-- > 0) { Object var3 = var1.readObject(); Object var4 = var1.readObject(); Object var5 = StyleContext.getStaticAttribute(var3); if (var5 != null) { var3 = var5; } Object var6 = StyleContext.getStaticAttribute(var4); if (var6 != null) { var4 = var6; } if (var3 != null && var4 != null) { this.valueConvertor.put(var3, var4); } } } void setBaseFontSize(int var1) { if (var1 < 1) { this.baseFontSize = 0; } else if (var1 > 7) { this.baseFontSize = 7; } else { this.baseFontSize = var1; } } void setBaseFontSize(String var1) { if (var1 != null) { if (var1.startsWith("+")) { int var2 = Integer.valueOf(var1.substring(1)); this.setBaseFontSize(this.baseFontSize + var2); } else if (var1.startsWith("-")) { int var3 = -Integer.valueOf(var1.substring(1)); this.setBaseFontSize(this.baseFontSize + var3); } else { this.setBaseFontSize(Integer.valueOf(var1)); } } } static Color stringToColor(String var0) { Color var1 = null; if (var0.charAt(0) == '#') { var1 = hexToColor(var0); } else if (var0.equalsIgnoreCase("Black")) { var1 = hexToColor("#000000"); } else if (var0.equalsIgnoreCase("Silver")) { var1 = hexToColor("#C0C0C0"); } else if (var0.equalsIgnoreCase("Gray")) { var1 = hexToColor("#808080"); } else if (var0.equalsIgnoreCase("White")) { var1 = hexToColor("#FFFFFF"); } else if (var0.equalsIgnoreCase("Maroon")) { var1 = hexToColor("#800000"); } else if (var0.equalsIgnoreCase("Red")) { var1 = hexToColor("#FF0000"); } else if (var0.equalsIgnoreCase("Purple")) { var1 = hexToColor("#800080"); } else if (var0.equalsIgnoreCase("Fuchsia")) { var1 = hexToColor("#FF00FF"); } else if (var0.equalsIgnoreCase("Green")) { var1 = hexToColor("#008000"); } else if (var0.equalsIgnoreCase("Lime")) { var1 = hexToColor("#00FF00"); } else if (var0.equalsIgnoreCase("Olive")) { var1 = hexToColor("#808000"); } else if (var0.equalsIgnoreCase("Yellow")) { var1 = hexToColor("#FFFF00"); } else if (var0.equalsIgnoreCase("Navy")) { var1 = hexToColor("#000080"); } else if (var0.equalsIgnoreCase("Blue")) { var1 = hexToColor("#0000FF"); } else if (var0.equalsIgnoreCase("Teal")) { var1 = hexToColor("#008080"); } else if (var0.equalsIgnoreCase("Aqua")) { var1 = hexToColor("#00FFFF"); } return var1; } Attribute styleConstantsKeyToCSSKey(StyleConstants var1) { return (Attribute)styleConstantToCssMap.get(var1); } Object styleConstantsValueToCSSValue(StyleConstants var1, Object var2) { Attribute var3 = this.styleConstantsKeyToCSSKey(var1); if (var3 != null) { CssValue var4 = (CssValue)this.valueConvertor.get(var3); return var4.fromStyleConstants(var1, var2); } else { return null; } } private void translateAttribute(HTML.Attribute var1, AttributeSet var2, MutableAttributeSet var3) { Attribute[] var4 = this.getCssAttribute(var1); String var5 = (String)var2.getAttribute(var1); if (var4 != null && var5 != null) { for(int var6 = 0; var6 < var4.length; ++var6) { Object var7 = this.getCssValue(var4[var6], var5); if (var7 != null) { var3.addAttribute(var4[var6], var7); } } } } private void translateAttributes(HTML.Tag var1, AttributeSet var2, MutableAttributeSet var3) { Enumeration var4 = var2.getAttributeNames(); while(var4.hasMoreElements()) { Object var5 = var4.nextElement(); if (var5 instanceof HTML.Attribute) { HTML.Attribute var6 = (HTML.Attribute)var5; if (var6 == javax.swing.text.html.HTML.Attribute.ALIGN) { String var7 = (String)var2.getAttribute(javax.swing.text.html.HTML.Attribute.ALIGN); if (var7 != null) { Attribute var8 = this.getCssAlignAttribute(var1, var2); if (var8 != null) { Object var9 = this.getCssValue(var8, var7); if (var9 != null) { var3.addAttribute(var8, var9); } } } } else if (var6 != javax.swing.text.html.HTML.Attribute.SIZE || this.isHTMLFontTag(var1)) { this.translateAttribute(var6, var2, var3); } } else if (var5 instanceof Attribute) { var3.addAttribute(var5, var2.getAttribute(var5)); } } } private void translateEmbeddedAttributes(AttributeSet var1, MutableAttributeSet var2) { Enumeration var3 = var1.getAttributeNames(); while(var3.hasMoreElements()) { Object var4 = var3.nextElement(); if (var4 instanceof HTML.Tag) { HTML.Tag var5 = (HTML.Tag)var4; Object var6 = var1.getAttribute(var5); if (var6 != null && var6 instanceof AttributeSet) { this.translateAttributes(var5, (AttributeSet)var6, var2); } } else if (var4 instanceof Attribute) { var2.addAttribute(var4, var1.getAttribute(var4)); } } } AttributeSet translateHTMLToCSS(AttributeSet var1) { SimpleAttributeSet var2 = new SimpleAttributeSet(); Element var3 = (Element)var1; HTML.Tag var4 = this.getHTMLTag(var1); if (var4 == Tag.TD || var4 == Tag.TH) { AttributeSet var5 = var3.getParentElement().getParentElement().getAttributes(); this.translateAttribute(javax.swing.text.html.HTML.Attribute.BORDER, var5, var2); String var6 = (String)var5.getAttribute(javax.swing.text.html.HTML.Attribute.CELLPADDING); if (var6 != null) { Object var7 = this.getInternalCSSValue(javax.swing.text.html.CSS.Attribute.PADDING_TOP, var6); var2.addAttribute(javax.swing.text.html.CSS.Attribute.PADDING_TOP, var7); var2.addAttribute(javax.swing.text.html.CSS.Attribute.PADDING_BOTTOM, var7); var2.addAttribute(javax.swing.text.html.CSS.Attribute.PADDING_LEFT, var7); var2.addAttribute(javax.swing.text.html.CSS.Attribute.PADDING_RIGHT, var7); } } if (var3.isLeaf()) { this.translateEmbeddedAttributes(var1, var2); } else { this.translateAttributes(var4, var1, var2); } return var2; } private boolean validTextAlignValue(String var1) { return this.isFloater(var1) || var1.equals("center"); } private void writeObject(ObjectOutputStream var1) throws IOException { var1.defaultWriteObject(); Enumeration var2 = this.valueConvertor.keys(); var1.writeInt(this.valueConvertor.size()); if (var2 != null) { while(var2.hasMoreElements()) { Object var3 = var2.nextElement(); Object var4 = this.valueConvertor.get(var3); if (!(var3 instanceof Serializable) && (var3 = StyleContext.getStaticAttributeKey(var3)) == null) { var3 = null; var4 = null; } else if (!(var4 instanceof Serializable) && (var4 = StyleContext.getStaticAttributeKey(var4)) == null) { var3 = null; var4 = null; } var1.writeObject(var3); var1.writeObject(var4); } } } }